package com.sunxueqi.project.system.vo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.sunxueqi.framework.web.vo.BaseVO;

import io.swagger.annotations.ApiModel;

// 序列化时，如果是null则会忽略
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel("系统菜单")
public class Menu extends BaseVO implements Serializable {

	private static final long serialVersionUID = 1L;

	private String id;

	/**
	 * 菜单名称
	 */
	private String menuName;

	/**
	 * 父菜单id
	 */
	private String parentId;

	/**
	 * 菜单类型
	 */
	private String menuType;
	
	
	private String keepAlive;
	
	/**
	 * 组件地址
	 */
	private String component;
	
	/**
	 * iframe路径
	 */
	private String iframeSrc;
	
	/**
	 * 路由地址
	 */
	private String path;

	/**
	 * 显示顺序
	 */
	private String orderNum;

	
	/**
	 * 是否可见
	 */
	private String visible;

	/**
	 * 权限字符串
	 */
	private String perms;
	
	/**
	 * 菜单图标
	 */
	private String icon;
	
	/**
	 * 子菜单
	 */
	private List<Menu> children = new ArrayList<>();

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getMenuName() {
		return menuName;
	}

	public void setMenuName(String menuName) {
		this.menuName = menuName;
	}

	public String getParentId() {
		return parentId;
	}

	public void setParentId(String parentId) {
		this.parentId = parentId;
	}

	public String getMenuType() {
		return menuType;
	}

	public void setMenuType(String menuType) {
		this.menuType = menuType;
	}

	public String getKeepAlive() {
		return keepAlive;
	}

	public void setKeepAlive(String keepAlive) {
		this.keepAlive = keepAlive;
	}

	public String getComponent() {
		return component;
	}

	public void setComponent(String component) {
		this.component = component;
	}

	public String getPath() {
		return path;
	}

	public void setPath(String path) {
		this.path = path;
	}

	public String getOrderNum() {
		return orderNum;
	}

	public void setOrderNum(String orderNum) {
		this.orderNum = orderNum;
	}

	public String getVisible() {
		return visible;
	}

	public void setVisible(String visible) {
		this.visible = visible;
	}

	public String getPerms() {
		return perms;
	}

	public void setPerms(String perms) {
		this.perms = perms;
	}

	public String getIcon() {
		return icon;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	public List<Menu> getChildren() {
		return children;
	}

	public void setChildren(List<Menu> children) {
		this.children = children;
	}

	public String getIframeSrc() {
		return iframeSrc;
	}

	public void setIframeSrc(String iframeSrc) {
		this.iframeSrc = iframeSrc;
	}

}
